<?php
	require_once('../engine/include.php'); // Inclui as funções, classes e dados desse projeto
	
	if($_POST) // Se o usuário submeteu o formulário
	{
		if(isset($_POST['enviar'])){ // O caso de inserir arquivos

			/* Passa o nome do nome do input type="file", um array com as extensões válidas e se é para validar se o usuário colocou um arquivo no campo (true para campos obrigatórios)
			 * Caso tenha ocorrido algum erro, será retornado uma mensagem de erro explicando o erro de validação dado ou vazio se não ocorreu erro algum.
			 * */
			
			$erro_file = valida_arquivos("file", array("txt", "html", "php"), false);
			$erro_imagem = valida_arquivos("imagem", array('jpg', 'jpeg', 'bmp', 'png', 'gif'), false);
			$erro_video = valida_arquivos("video", array('flv'), false);
			
			if(!empty($erro_file)) $erros["file"] = $erro_file;
			if(!empty($erro_imagem)) $erros["imagem"] = $erro_imagem;
			if(!empty($erro_video)) $erros["video"] = $erro_video;
			
			/*Se tudo foi validado*/
			if(empty($erros))
			{
				/* O engine_arquivos/arquivos é um caminho a partir do diretório raiz, esse é o padrão para essa função.
				 * Se retornou uma string, o !== true vai ver que é extritamente diferente de true, != true não detecta isso, porque qualquer coisa diferente de false e null é == true*/
				
				if( ($erro_file = salva_arquivos("file", "engine_arquivos/arquivos")) !== true){
					$erros["file"] = $erro_file;
				}
				
				if( ($erro_imagem = salva_arquivos("imagem", "engine_arquivos/imagens")) !== true){
					$erros["imagem"] = $erro_imagem;
				}
				
				if( ($erro_video = salva_arquivos("video", "engine_arquivos/videos")) !== true){
					$erros["video"] = $erro_video;
				}
				
				/*Se tudo for salvo com sucesso, mostra uma mensagem de sucesso ao usuário (também poderia colocar uma mensagem na session e redirecionar para outra página)*/
				if(empty($erros)){
					$mensagemSucesso = "Arquivos salvos com sucesso!";
				}
			}	
		}
		else { // O caso de deletar os arquivos
			/*Se excluiu com sucesso, $mensagemSucesso terá uma mensagem indicando o sucesso, caso contrário, ficará em $mensagemErro*/
			if(($mensagemErro = exclui_arquivos("*", "engine_arquivos/imagens")) === true){
				$mensagemSucesso = "Arquivos excluídos com sucesso!";	
			}
		}
	}
?>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="pt-br">
	<head>
		<meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />
		<title>Teste de um formulário com arquivos</title>
		<link rel="stylesheet" type="text/css" href="../css/import.css" />
	</head>
	<body>
		<div id="principal">
			<h2>Testando upload de arquivos</h2>
			<?php 	
				printSucesso($mensagemSucesso); // Se tudo der certo
				printErro($mensagemErro); // Se algo der errado
			?>
			<form method="post" action="" enctype="multipart/form-data">
				<fieldset>
					<label for="file">Filename:</label>
					<input type="file" id="file" name="file" /><br />
					<?php printErro($erros["file"], true);?><br />
					
					<label for="imagem">Imagem:</label>
					<input type="file" id="imagem1" name="imagem[]" /><br />
					<?php if($erros["imagem"][0] !== true) printErro($erros["imagem"][0], true);?><br />
					<input type="file" id="imagem2" name="imagem[]" /><br />
					<?php if($erros["imagem"][1] !== true) printErro($erros["imagem"][1], true);?><br />
					
					<label for="video">Video:</label>
					<input type="file" id="video" name="video" /><br />
					<?php printErro($erros["video"], true);?><br />
					
					<input type="submit" name="enviar" value="Enviar" />
					<br />
					<input type="submit" name="excluir" value="Excluir Todos" />
				</fieldset>
			</form>
		</div>
	</body>
</html>
